import { baseUrl } from "./http.config";
import axios from "axios";
import { message } from "ant-design-vue";
export interface head {
  params: object;
}
// 添加请求拦截器
axios.interceptors.request.use(
  (config) => {
    // 在发送请求之前做些什么
    // console.log(config);
    return config;
  },
  (error) => {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// // 添加响应拦截器
axios.interceptors.response.use(
  (response) => {
    // 对响应数据做点什么
    // if (response.data.code != 200) {
    //   message.error(response.data.msg);
    //   response.data.data = [];
    // }
    return Promise.resolve(response);
  },
  (error) => {
    // 对响应错误做点什么
    console.log(error);
    message.error("服务器错误，请联系管理员！");
    return Promise.reject(error);
  }
);

const get = (url: string, head?: head): Promise<any> => {
  return new Promise((resolve, reject) => {
    axios.get(url, head).then((res) => {
      resolve(res.data);
    });
    // .catch((error) => {
    //   resolve("error");
    // });
  });
};
const post = (url: string, data: object, head?: head): Promise<any> => {
  return new Promise((resolve, reject) => {
    axios.post(url, data, head).then((res) => {
      resolve(res.data);
    });
    // .catch((error) => {
    //   resolve("error");
    // });
  });
};

export { baseUrl };
export const http = {
  get,
  post,
};
